package com.example.test.建造者;


import com.example.test.valid.AreaValid;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
public class BasicArea {

    private String id;

    /**
    * 区域名称
    */
    private String name;

    /**
    * 区域码
    */
    private String code;

    /**
    * 区域备注
    */
    private String remark;

    /**
    * 父级区域id
    */

    @NotNull(message = "不能为null")
    private String parentId;

    /**
    * 所有父级区域id
    */
    @Min(value=3,message = "长度最小值为3")
    @Max(value=30,message = "长度最大值为30")
    private String path;

    /**
    * 区域层级
    */
    private Byte depth;

    /**
    * 扩展属性
    */
    private String extend;

    /**
    * 排序号
    */
    private Integer sort;

    /**
    * 删除标识【0未删除 1删除】
    */
    private Boolean deleteStatus;

    /**
    * 创建人
    */
    private String createUser;

    /**
    * 创建时间
    */
    private Date createTime;

    /**
    * 修改人
    */
    private String updateUser;

    /**
    * 修改时间
    */
    private Date updateTime;

    /**
    * 预留属性1
    */
    private String column1;

    /**
    * 预留属性2
    */
    private String column2;

    /**
    * 预留属性3
    */
    private String column3;

    /**
    * 预留属性4
    */
    private String column4;

    /**
    * 预留属性5
    */
    private String column5;


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    public Byte getDepth() {
        return depth;
    }

    public void setDepth(Byte depth) {
        this.depth = depth;
    }

    public String getExtend() {
        return extend;
    }

    public void setExtend(String extend) {
        this.extend = extend;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Boolean getDeleteStatus() {
        return deleteStatus;
    }

    public void setDeleteStatus(Boolean deleteStatus) {
        this.deleteStatus = deleteStatus;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getColumn1() {
        return column1;
    }

    public void setColumn1(String column1) {
        this.column1 = column1;
    }

    public String getColumn2() {
        return column2;
    }

    public void setColumn2(String column2) {
        this.column2 = column2;
    }

    public String getColumn3() {
        return column3;
    }

    public void setColumn3(String column3) {
        this.column3 = column3;
    }

    public String getColumn4() {
        return column4;
    }

    public void setColumn4(String column4) {
        this.column4 = column4;
    }

    public String getColumn5() {
        return column5;
    }

    public void setColumn5(String column5) {
        this.column5 = column5;
    }
}